// pages/news/news.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    title: '我是新闻组件的title',
    list: [],
    windowHeight: '400rpx',
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function(options) {
    this.toast = this.selectComponent("#toast");
    this.tempPage = 1;
    this.flagRequestData = true;
    this.requestData();
    this.init();
  },

  /**
   * 
   */
  init: function() {
    let that = this;

    wx.getSystemInfo({
      success(res) {
        that.setData({
          windowHeight: res.windowHeight + 'px'
        })
      }
    })
  },

  /**
   * 
   */
  showToast: function() {
    this.toast.showToast('新闻的toast', 1000);
  },

  /**
   * 
   */
  lower: function(e) {
    this.requestData(++this.tempPage);
  },

  /**
   * 1、这里注意解决“反复请求同一页”和“没有数据就别再请求”，两个问题。
   */
  requestData: function(page) {
    if (!this.flagRequestData) return console.log('无法请求数据');

    let that = this;
    let tempPage = page ? page : 1;

    wx.request({
      url: 'http://www.phonegap100.com/appapi.php',
      data: {
        a: 'getPortalList',
        catid: '20',
        page: tempPage
      },
      header: {
        'content-type': 'application/json'
      },
      method: 'GET',
      dataType: 'json',
      responseType: 'text',
      success: function(res) {
        let tempResList = res.data.result

        // 如果已经没有数据了，就别再请求。
        if (tempResList.length <= 0) {
          that.flagRequestData = false
          return console.log('已经没有数据了');
        }

        // 这里要将所有页面的数据拼接在一起。
        let tempList = 1 === tempPage ? tempResList : that.data.list.concat(tempResList);

        that.setData({
          list: tempList,
          page: tempPage
        })
      }
    })
  }
})